struct _HAL_IOMMU_DISPATCH// Size=0x4c
{
    unsigned char  ( * HalIommuSupportEnabled)();// Offset=0x0 Size=0x4
    long  ( * HalIommuGetConfiguration)(unsigned long ,unsigned long * ,unsigned long * ,void ** );// Offset=0x4 Size=0x4
    long  ( * HalIommuGetLibraryContext)(unsigned long ,unsigned long ,void ** );// Offset=0x8 Size=0x4
    long  ( * HalIommuMapDevice)(void * ,struct _EXT_IOMMU_DEVICE_ID * ,union _IOMMU_SVM_CAPABILITIES * ,void ** );// Offset=0xc Size=0x4
    long  ( * HalIommuEnableDevicePasid)(void * ,void * );// Offset=0x10 Size=0x4
    long  ( * HalIommuSetAddressSpace)(void * ,unsigned long );// Offset=0x14 Size=0x4
    long  ( * HalIommuDisableDevicePasid)(void * ,void * );// Offset=0x18 Size=0x4
    long  ( * HalIommuUnmapDevice)(void * ,void * );// Offset=0x1c Size=0x4
    long  ( * HalIommuFreeLibraryContext)(void * );// Offset=0x20 Size=0x4
    void  ( * HalIommuFlushTb)(void * ,unsigned long ,struct _KTB_FLUSH_VA * );// Offset=0x24 Size=0x4
    void  ( * HalIommuFlushAllPasid)(void * ,unsigned long ,struct _KTB_FLUSH_VA * );// Offset=0x28 Size=0x4
    unsigned char  ( * HalIommuProcessPageRequestQueue)(unsigned long );// Offset=0x2c Size=0x4
    void  ( * HalIommuFaultRoutine)(unsigned long );// Offset=0x30 Size=0x4
    void *  ( * HalIommuReferenceAsid)(unsigned long );// Offset=0x34 Size=0x4
    void  ( * HalIommuDereferenceAsid)(unsigned long );// Offset=0x38 Size=0x4
    long  ( * HalIommuServicePageFault)(unsigned long ,void * ,unsigned long );// Offset=0x3c Size=0x4
    long  ( * HalIommuDevicePowerChange)(void * ,void * ,unsigned char );// Offset=0x40 Size=0x4
    long  ( * HalIommuBeginDeviceReset)(void * ,unsigned long * );// Offset=0x44 Size=0x4
    long  ( * HalIommuFinalizeDeviceReset)(void * );// Offset=0x48 Size=0x4
};